This invention relates to a method and apparatus for allocating bandwidth during implementation of Quality of Service (QoS) using Internet Protocol (IP) provisioning. Specifically, the invention allocates bandwidth resources between service classes and during network congestion either buffers or randomly drops packets of lower quality of services to ensure delivery with minimized packet loss for higher quality of services.
Another patent application was filed concurrently and is incorporated by reference xe2x80x9cMethod and Apparatus for an Architecture and Design of Internet Protocol Quality of Service Provisioningxe2x80x9d (U.S. Ser. No. 09/476,309.
Quality of Service (QoS) mechanisms for packet transmission typically utilize data path mechanisms (packet classification, policing, shaping, buffering, and scheduling) and control path mechanisms (signaling, resource reservation, routing) for ensuring packet delivery during periods of network congestion. Currently within the networking community there exist two schools of thought regarding QoS, represented by two working groups of the Internet Engineering Task Force (IETF). The first school of thought, Integrated Services (int-serv), supports fine-grained data path and control path QoS mechanisms, while the second school of thought, Differentiated Services (diff-serv), supports coarse-grained mechanisms that apply to a small set of aggregate flow classes. Int-serv mechanisms may provide the appropriate solution in the longer term; however, the QoS mechanisms now available from most mature router vendors correspond more closely with the diff-serv mechanisms.
The main concepts of diff-serv are: (1) aggregates of flows (rather than individual flows) receive a service; (2) the forwarding engine is required to provide delay and loss guarantees in a statistical or relative (rather than absolute quantitative) sense; and (3) the forwarding treatment that should be received by a packet is identified by a byte in the packet header, rather than by a flow lookup. The flow aggregates in diff-serv can be specified in several ways. To illustrate, consider a corporation that has three sites. Each site communicates with all the other sites over the Internet. A site may also communicate with other entities connected to the global Internet. In lo such a case, the flow aggregates that should receive differentiated QoS can be specified by:
1. Point-to-point flowsxe2x80x94a set of packets originating from a first site and destined to a second site.
2. Point-to-multi-point flowsxe2x80x94a set of packets originating from a first site and destined to either a second or a third site.
3. Point-to-any-point flowsxe2x80x94any packet that originates from a first site and destined to any other site.
To signal resource reservation needs, the IETF has developed the Reserve Reservation (RSVP) hop-by-hop protocol. Although RSVP was initially intended for int-serv, it was later realized that RSVP provides adequate signaling support for aggregates of traffic flows, such as those found in diff-serv schemes. In the diff-serv schemes, hop-by-hop signaling is used only for admission control, not for creating per-flow state in intermediate routers, as is typically done in the int-serv scheme.
A need exists for an architecture and design supporting Quality of Service (QoS) features using Internet Protocol supporting (1) a guarantee of performance under certain conditions, (2) supporting differentiation of product services with Internet providers, and (3) attaining economies of scale with multiple services integrated on a common network. The QoS should maximize the probability of delivery of packets for the highest levels of service while minimizing the probability of dropped packets. However, this optimization should not erode the lowest levels of service such that packet delivery delays for lower classes of services are so long that the lower classes of services cease to deliver the level of subscribed service.
This invention is a diff-serv resource reservation system that checks to determine if sufficient bandwidth resources are available along the data flow pathway requested by the customer for a particular class of service. The resource reservation system determines the parameters such that a data packet can be transmitted according to the desired Quality of Service (QoS) parameters for the desired class. A schedule optimizer ensures that sufficient buffer resource allocations and parameter settings in the routers and servers along the data path are made to optimally reach the predetermined QoS criteria for each of the desired classification of service levels. The system also contains a mechanism supporting resource reservation providing dynamic allocation of additional resources along alternative paths if the selected path links fail in the network.
For a three-service class QoS scheme comprising a Virtual Leased Line, Assured and Basic service classes, the resource management system optimizes packet traffic flow from (1) the values for the maximum QoS deterioration levels of the traffic caused by individual reservations for Virtual Leased Line traffic, (2) the maximum QoS deterioration levels of the Basic service caused by the Assured service, and (3) the packet loss ratios of the Assured versus the Basic services. These values provide information necessary for determining capacity planning and provide the minimum utilization of a link to be considered when congestion occurs. Average utilization of Virtual Leased Line traffic with respect to the peak rate subscribed along each link is computed versus the maximum percentage of the total Virtual Leased Line subscription with respect to the link capacity. Preconfiguration of all the routers with parameter settings for Weighted Fair Queuing (WFQ), buffer allocations, and Weighted Random Early Discard (WRED) further allows the resource reservation system to maintain the desired QoS in the network.